<!doctype html>
<html lang="zh_cn" itemscope itemtype="http://schema.org/Person">
<head>
            <meta charset="utf-8">
        <!-- Site Meta Data -->
        <title> 一个程序员的简单生活 | 一个程序员的简单生活 </title>
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <meta name="description" content="技术博客,涉及Java/PHP/Python/Javascript等,聊聊程序,聊聊生活,聊聊事实,聊聊育儿">
        <meta name="keywords" content="编码经验,技术分享,生活积累,实事评说">
        <meta name="author" content="布丁缘">

        <link rel="shortcut icon" href="">

        <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,600,700' rel='stylesheet' type='text/css'>
        <!-- Style Meta Data -->
        <link rel="stylesheet" href="https://www.ddkiss.com/theme/css/style.css" type="text/css"/>
        <link rel="stylesheet" href="https://www.ddkiss.com/theme/css/pygments.css" type="text/css"/>

        <!-- Feed Meta Data -->
            <link href="https://www.ddkiss.com/feeds/all.atom.xml" type="application/atom+xml" rel="alternate"
                  title="一个程序员的简单生活 ATOM Feed"/>


</head>

<body>
<!-- Sidebar -->
<aside>
    <center><h1><a href="/" style="color:#fff"><img id="avatar" src="/images/avatar.jpg"></a></h1></center>
        <p>一个程序员的简单生活</p>
    <br>
    <nav class="nav">
        <ul class="list-bare">
                <li><a class="nav__link" href="https://www.ddkiss.com/category/chang-yong-ji-qiao.html">常用技巧</a></li>
                <li><a class="nav__link" href="https://www.ddkiss.com/category/kai-fa-huan-jing.html">开发环境</a></li>
                <li><a class="nav__link" href="https://www.ddkiss.com/category/sheng-huo-dian-di.html">生活点滴</a></li>

                <li><a class="nav__link" href="/pages/books.html">书单</a></li>
                <li><a class="nav__link" href="/pages/movies.html">影单</a></li>
                <li><a class="nav__link" href="/pages/downloads.html">下载</a></li>
                <li><a class="nav__link" href="/pages/about.html">关于我</a></li>


        </ul>
    </nav>


    <form>
      <input type="text"  id="bdcsMain"/>
    </form>

</aside>

<!-- Content -->
<article>
  <main>
    <nav>
      <a href="/">首页</a>
      <a href="/archives.html">归档</a>
      <a href="/categories.html">分类</a>
      <a href="/tags.html">标签</a>
      <a href="/pages/about.html">关于我</a>
    </nav>
  </main>
        <ol>
<h2 class="latest">Latest Posts</h2>                <li class="post_list"><p class="post_entry">
                    <h2 class="post_title"><a href="https://www.ddkiss.com/archives/21.html" rel="bookmark"
                                              title="Permalink to [原创]小达人点读笔自制点读包详细过程">[原创]小达人点读笔自制点读包详细过程</a>
                    </h2>
                    <span>作者：</span><a href="https://www.ddkiss.com/author/bu-ding-yuan.html">布丁缘</a>
                    <span class="post_category">分类：<a href="https://www.ddkiss.com/category/chang-yong-ji-qiao.html" rel="bookmark"
                                                   title="Permalink to 常用技巧">常用技巧</a></span>
                    <span class="post_date">  时间：2017-09-25 09:51:00</span>

                        <p>一、首先去官网下载安装点读笔客户端软件，并安装，安装后 二、选择附加功能中的高级自制内容工具 三、选【新建教材项目】，填写项目名称（主要是该项目存储的名称）和教材名称（导入点读机中存储的名称）。最主要的是填写标贴序号，填开始编号就可以了。看看家里编号用到几号了，比如我前面已经用到191号了，该项目就从192开始使用 四、下一步。添加空白图片即可 五、下一步。添加音频。通常新建项目默认会有一个cover.mp3（这是封面的默认声音），如果没有也可以去第一次建的项目目录的\sound目录下找一个cover.mp3拖进来。然后添加要做点读包的音频必须是mp3格式。 如果没有在该步骤添加音频，也可以后面再通过左侧常用工具栏的【导入音源资源(MP3文件)】来进行添加。 如果不是mp3格式的音源，选择【导入其它音源】，转成mp3格式。转载请注明出处www.ddkiss.com 六、剪切音源。通常希望每一页或者每一句话贴一个标贴进行点读，所以需要将一本书的整个音源进行剪切为你需要的一句或一段。 选中音源，单击【剪切音源 …</p>

                </li>
                <li class="post_list"><p class="post_entry">
                    <h2 class="post_title"><a href="https://www.ddkiss.com/archives/28.html" rel="bookmark"
                                              title="Permalink to [原创]UEditor图片上传配置(Spring MVC)">[原创]UEditor图片上传配置(Spring MVC)</a>
                    </h2>
                    <span>作者：</span><a href="https://www.ddkiss.com/author/bu-ding-yuan.html">布丁缘</a>
                    <span class="post_category">分类：<a href="https://www.ddkiss.com/category/kai-fa-huan-jing.html" rel="bookmark"
                                                   title="Permalink to 开发环境">开发环境</a></span>
                    <span class="post_date">  时间：2017-09-24 16:03:00</span>

                        <p>前言 之前也没注意这个怎么实现的。现在需要在去知新里实现这个功能，参考了下官网说的方法，也参考了下别人的代码，做了一个精简的仅上传图片的版本。 参考 UEditor后端配置说明 UEditor + Spring MVC + Maven实现图片上传 HttpServletRequest获取MultipartFile UEditor完整源码下载 实现原理 经过研究，发现所谓图片上传是通过JSP来调用相应Action来实现的。弄清楚了主要流程后，定制修改为项目中的写法。 主要步骤 1. 配置ueditor.config.js，修改 serverUrl // 服务器统一请求接口路径 , serverUrl: contextPath + &#34;/p/ueditor/upload&#34; 2. 主要流程 client端发起请求 /p/ueditor/upload?action=config, 后台返回 config.json字符串。 client 获取json 解析出 &#34;imageActionName=uploadimg&#34; 和 &#34;imageFieldName …</p>

                </li>
                <li class="post_list"><p class="post_entry">
                    <h2 class="post_title"><a href="https://www.ddkiss.com/archives/5.html" rel="bookmark"
                                              title="Permalink to [原创]WebRTC调用摄像头建立聊天室">[原创]WebRTC调用摄像头建立聊天室</a>
                    </h2>
                    <span>作者：</span><a href="https://www.ddkiss.com/author/bu-ding-yuan.html">布丁缘</a>
                    <span class="post_category">分类：<a href="https://www.ddkiss.com/category/kai-fa-huan-jing.html" rel="bookmark"
                                                   title="Permalink to 开发环境">开发环境</a></span>
                    <span class="post_date">  时间：2017-09-24 16:03:00</span>

                        <p>前言 最近在思考，腾讯ＱＱ或微信的视频聊天是怎么实现的？点对点的视频是否需要足够的带宽支持？实现的原理是怎么样的呢？后来发现了webrtc这个东东。测试后发现，需要安装coturn来实现打洞。所以，就有了本文. 安装turnserver 下载coturn 有turnserver-4.5.0.6-CentOS7.2-x86_64.tar.gz版，但是下载执行安装后，死活因为mysql的包冲突(我装的是5.7)，提示缺少lib 下载了源码，turnserver-4.5.0.6.tar.gz，安装后，虽然提示安装不成功，但无所谓，因为可以用默认的sqlite。 配置 此处是坑最多的地方，网上的那些教程都没有正在线上跑过，所以都不行。我也是试了很久，最后老老实实看官网的说明配置成功了。即使是像阿里云ECS这种只有有专线网络都可以，即使是在子网里。参考turnserver-webrtc-usage, 提到的重要的几点 必须用 long-term credentials …</p>

                </li>
                <li class="post_list"><p class="post_entry">
                    <h2 class="post_title"><a href="https://www.ddkiss.com/archives/29.html" rel="bookmark"
                                              title="Permalink to [原创]Nginx Http Server读书笔记">[原创]Nginx Http Server读书笔记</a>
                    </h2>
                    <span>作者：</span><a href="https://www.ddkiss.com/author/bu-ding-yuan.html">布丁缘</a>
                    <span class="post_category">分类：<a href="https://www.ddkiss.com/category/kai-fa-huan-jing.html" rel="bookmark"
                                                   title="Permalink to 开发环境">开发环境</a></span>
                    <span class="post_date">  时间：2017-09-24 15:52:00</span>

                        <p>前言 早在2015年5月，我就读了这本书的第一章。当时对nginx还不算了解，看了第一章就没继续了。也许是自己太早陷入配置细节了，后面反而兴趣不大。最近看MySQL5.1手册，其中提到了不要用root配置mysql，即使用root启动也最好带上 --user=usernamexx。突然有了一个疑问，为什么这么做？想到之前这本书的第一部分提到了“最小权限原则”。再看了一遍笔记和书，对这个有了更多的了解。 问题 1. 最小权限原则。 书里讲到，计算机安全的最基本原则就是最小权限原则。也就是永远不给他多余的权限。试想下，如果一个人只有查看某些文件的权限，但你给了他更多权限，这样会导致系统安全性和完整性被破坏。 2. 如何赋予权限？ Linux中有 用户/组/其他 三个权限粒度。最终权限是控制到文件，所以，假设需要控制这个文件的权限，我们怎么做？无非是 r.x.w.- 任何一个人是否可以操作这个文件？ 设置 other 权限为 r 或者 …</p>

                </li>
                <li class="post_list"><p class="post_entry">
                    <h2 class="post_title"><a href="https://www.ddkiss.com/archives/30.html" rel="bookmark"
                                              title="Permalink to [原创]Vue2+iView2开发过程中踩过的坑">[原创]Vue2+iView2开发过程中踩过的坑</a>
                    </h2>
                    <span>作者：</span><a href="https://www.ddkiss.com/author/bu-ding-yuan.html">布丁缘</a>
                    <span class="post_category">分类：<a href="https://www.ddkiss.com/category/kai-fa-huan-jing.html" rel="bookmark"
                                                   title="Permalink to 开发环境">开发环境</a></span>
                    <span class="post_date">  时间：2017-09-24 15:52:00</span>

                        <p>前言 把官方文档基本看了一遍，但是还是有很多概念不是很熟。特别是vue基于webpack的脚手架工具。其中有些坑踩了才知道，顺便记录下。但类似npm等用法自行百度吧。架构也很简单，后台提供restful服务，以JSON格式进行数据传输，真正实现前后端分离。这里主要讲下 VUE2+iView2 实现前端功能过程中踩过的那些坑。IDE使用的是Atom+各种插件。 全局安装的插件 #JavaScript 日期处理类库 cnpm install moment --save #Javascript语法转换工具 cnpm install babel-polyfill --save 问题 1. 编写.vue文件报错Component template should contain exactly one root element 代码很简单，如下 &lt;template&gt; &lt;h1&gt;{{title}}&lt;/h1&gt; &lt;ol&gt; &lt;li v-for …</p>

                </li>
                <li class="post_list"><p class="post_entry">
                    <h2 class="post_title"><a href="https://www.ddkiss.com/archives/4.html" rel="bookmark"
                                              title="Permalink to Ngrok的安装和使用(阿里云ECS主机)">Ngrok的安装和使用(阿里云ECS主机)</a>
                    </h2>
                    <span>作者：</span><a href="https://www.ddkiss.com/author/bu-ding-yuan.html">布丁缘</a>
                    <span class="post_category">分类：<a href="https://www.ddkiss.com/category/kai-fa-huan-jing.html" rel="bookmark"
                                                   title="Permalink to 开发环境">开发环境</a></span>
                    <span class="post_date">  时间：2017-09-24 15:52:00</span>

                        <p>前言 今天想在服务器上搭建一个技术博客。但是线上服务器内存太小了，已经被塞满了。突然想到可以放在内网，搭建一个穿透服务，这样就可以部署很多Java的服务了。Java实在是对内存要求太多了。 安装过程 主要包括 域名解析、go安装以及ngork的安装配置 配置域名 ngrok只支持二级域名！一级域名测试的时候死活不行！ 另外，如果内部不用nginx转发的化，需要配置泛域名解析。 安装go环境 步骤如下： 1) 下载安装包，地址为这里。我安装的是go1.9.linux-amd64.tar.gz。然后直接将go安装包解压到服务器 /usr/local/go下 2) 建立软链接。 cd /usr/bin; ln -s /usr/local/go/bin/* ./ 安装git 安装ngrok 1) 下载源码 cd /usr …</p>

                </li>
        </ol>

    <p class="paginator">
                <a href="https://www.ddkiss.com/index3.html">~:)</a>
        4 ~ 4
    </p>

</article>

<!-- Footer -->
    <footer>
        <p> &copy;2017-2020&nbsp;<a href="http://www.miitbeian.gov.cn/" target="_blank">鄂ICP备17020200号</a>
          Blog powered by <a href="http://getpelican.com/">Pelican</a>
        </p>
    </footer>

    <!-- Analytics -->
    <script>
      var _hmt = _hmt || [];
      (function() {
        var hm = document.createElement("script");
        hm.src = "https://hm.baidu.com/hm.js?88c55edaf311dbacac56a16316b04c8b";
        var s = document.getElementsByTagName("script")[0];
        s.parentNode.insertBefore(hm, s);
      })();
    </script>

<script type="text/javascript">(function(){document.write(unescape('%3Cdiv id="bdcs"%3E%3C/div%3E'));var bdcs = document.createElement('script');bdcs.type = 'text/javascript';bdcs.async = true;bdcs.src = 'http://znsv.baidu.com/customer_search/api/js?sid=14490611060029767912' + '&plate_url=' + encodeURIComponent(window.location.href) + '&t=' + Math.ceil(new Date()/3600000);var s = document.getElementsByTagName('script')[0];s.parentNode.insertBefore(bdcs, s);})();</script>

</body>
</html>